package mjc.egg;
import mjc.compiler.*;
import mjc.gc.*;
import mg.egg.eggc.compiler.libjava.lex.*;
import mg.egg.eggc.compiler.libjava.messages.*;
import mg.egg.eggc.compiler.libjava.*;
import mg.egg.eggc.compiler.libjava.problem.IProblem;
import java.util.Vector;
public class S_DEFCLASSE_MJAVA {
LEX_MJAVA scanner;
  S_DEFCLASSE_MJAVA() {
    }
  S_DEFCLASSE_MJAVA(LEX_MJAVA scanner) {
    this.scanner = scanner;
    this.att_scanner = scanner;
    }
int [] sync= new int[0];
  TDS att_htdsclasses;
  INFOCLASSE att_infoclasse;
  LEX_MJAVA att_scanner;
  private void regle4() throws Exception {

    //declaration
    T_MJAVA x_2 = new T_MJAVA(scanner ) ;
    T_MJAVA x_3 = new T_MJAVA(scanner ) ;
    S_EXTENSION_MJAVA x_5 = new S_EXTENSION_MJAVA(scanner) ;
    T_MJAVA x_7 = new T_MJAVA(scanner ) ;
    S_DEFS_MJAVA x_8 = new S_DEFS_MJAVA(scanner) ;
    T_MJAVA x_9 = new T_MJAVA(scanner ) ;
    //appel
      action_auto_inh_4(x_3, x_5, x_8);
    x_2.analyser(LEX_MJAVA.token_classe);
    x_3.analyser(LEX_MJAVA.token_ident);
      action_action_4(x_3, x_5, x_8);
    x_5.analyser() ;
      action_ext_4(x_3, x_5, x_8);
    x_7.analyser(LEX_MJAVA.token_aco);
    x_8.analyser() ;
    x_9.analyser(LEX_MJAVA.token_acf);
      action_remontee_4(x_3, x_5, x_8);
  }
private void action_auto_inh_4(T_MJAVA x_3, S_EXTENSION_MJAVA x_5, S_DEFS_MJAVA x_8) throws Exception {
try {
// instructions
x_5.att_htdsclasses=this.att_htdsclasses;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_remontee_4(T_MJAVA x_3, S_EXTENSION_MJAVA x_5, S_DEFS_MJAVA x_8) throws Exception {
try {
// instructions
this.att_infoclasse=x_8.att_infoclasse;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_ext_4(T_MJAVA x_3, S_EXTENSION_MJAVA x_5, S_DEFS_MJAVA x_8) throws Exception {
try {
// instructions
x_8.att_hinfoclasse=x_5.att_infoclasse;
x_8.att_htdsclasses=x_5.att_tdsclasses;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_action_4(T_MJAVA x_3, S_EXTENSION_MJAVA x_5, S_DEFS_MJAVA x_8) throws Exception {
try {
// instructions
x_5.att_hnomclasse=x_3.att_txt;
x_8.att_hnomclasse=x_3.att_txt;
System.out.print(""+"==== Définition de la classe "+x_3.att_txt+" ====\n");
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
  public void analyser () throws Exception {
    regle4 () ;
  }
  }
